<html>
<head><meta charset="utf-8"><title>2021-02-22 Meeting · project-portable-simd · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/index.html">project-portable-simd</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html">2021-02-22 Meeting</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="227340527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227340527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227340527">(Feb 22 2021 at 21:30)</a>:</h4>
<p>Hello everyone! hackmd is here: <a href="https://hackmd.io/DIIR21LWTKmEIhgTVaL9zg">https://hackmd.io/DIIR21LWTKmEIhgTVaL9zg</a><br>
Everyone kinda already chatted a bit but let's formally say hi for a moment!<br>
Does anyone have anything to introduce?</p>



<a name="227340571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227340571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227340571">(Feb 22 2021 at 21:30)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="227340602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227340602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227340602">(Feb 22 2021 at 21:30)</a>:</h4>
<p>none to introduce here</p>



<a name="227340810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227340810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227340810">(Feb 22 2021 at 21:32)</a>:</h4>
<p>Nothing here really either</p>



<a name="227341039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341039">(Feb 22 2021 at 21:33)</a>:</h4>
<p>Alrighty then.<br>
Are we in consensus that barring non-2^N vectors inside rustc should be reverted on account of the SPIRV/glam issue?</p>



<a name="227341142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341142">(Feb 22 2021 at 21:34)</a>:</h4>
<p>yeah, i'm not even clear why that was done in the first place, i thought the lenatmost64 fixed things</p>



<a name="227341193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341193">(Feb 22 2021 at 21:34)</a>:</h4>
<p>It was mostly because cranelift didn't support it so you'll get errors there</p>



<a name="227341226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341226">(Feb 22 2021 at 21:35)</a>:</h4>
<p>So it was an attempt to unify behavior</p>



<a name="227341229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341229">(Feb 22 2021 at 21:35)</a>:</h4>
<p>Mostly to make things easier for cg_clif, they may need a bit more error-handling code to tolerate that case, which is fine.<br>
I think our library can be limited to 2^N vectors just fine.</p>



<a name="227341319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341319">(Feb 22 2021 at 21:35)</a>:</h4>
<p>We can add another feature that enables non-power-of-two vectors if we wanted too</p>



<a name="227341347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341347">(Feb 22 2021 at 21:35)</a>:</h4>
<p><em>grumbles</em></p>



<a name="227341412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341412">(Feb 22 2021 at 21:36)</a>:</h4>
<p><span class="user-mention" data-user-id="224471">@Lokathor</span> ?</p>



<a name="227341530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341530">(Feb 22 2021 at 21:36)</a>:</h4>
<p>i mean i guess we don't need to give cranelift problems, but this is what i've always been against the idea of: limiting the common case that one of our backends <em>can</em> handle just because some <em>other</em> backend <em>can't</em> handle it.</p>



<a name="227341611"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341611" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341611">(Feb 22 2021 at 21:37)</a>:</h4>
<p>i'm gonna make the lokalift backend, and all inputs will crash, better cancel rustc ;P</p>



<a name="227341617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341617">(Feb 22 2021 at 21:37)</a>:</h4>
<p>lol</p>



<a name="227341822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227341822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227341822">(Feb 22 2021 at 21:39)</a>:</h4>
<p>Well, I think we Need to relax the restrictions inside rustc, and our library can be a bit pessimistic for right now for the user's sake with an eye to quickly loosening things up on that score.</p>



<a name="227342153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227342153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227342153">(Feb 22 2021 at 21:41)</a>:</h4>
<p>( honestly, at this point half the reason is that simd_shuffle isn't generic over length. )</p>



<a name="227342176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227342176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227342176">(Feb 22 2021 at 21:41)</a>:</h4>
<p>SO<br>
GPUs and ABIs oh my</p>



<a name="227342309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227342309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227342309">(Feb 22 2021 at 21:42)</a>:</h4>
<p>...I, personally, am still trying to decipher that bit of the Vulkan standard.</p>



<a name="227342382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227342382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227342382">(Feb 22 2021 at 21:43)</a>:</h4>
<p>like I start reading it and it gets very "I am not sure if I am on drugs or if I need to take more drugs" very quickly.</p>



<a name="227342819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227342819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227342819">(Feb 22 2021 at 21:45)</a>:</h4>
<p>I think Vec3s are in the immediate sense "out of scope" for us, but I think we should definitely aim at generating data structures that people expect in the long term, since there's some fairly obvious utility overlap. It'd be kinda nice to not care whether the vector registers we're interacting with are on a CPU or GPU!</p>



<a name="227343085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343085">(Feb 22 2021 at 21:47)</a>:</h4>
<p>especially since we're already const generic over length.<br>
I don't think there's anything terribly actionable atm though, thinking about it, aside from "maybe someday we'll have to convey that data structures can get really weird to rustc".</p>
<p>which brings me to the libm thing and the soundness hole.</p>



<a name="227343317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343317">(Feb 22 2021 at 21:49)</a>:</h4>
<p>I don't see any solution aside from "teach rustc what a vector register actually is" in the long term.<br>
In the short term, do we have to split the crate into a core_simd and std_simd? That's not great but if it's what we've got to do then I guess it's what we've got to do?</p>



<a name="227343382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343382">(Feb 22 2021 at 21:49)</a>:</h4>
<p>What would be std specific?</p>



<a name="227343439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343439">(Feb 22 2021 at 21:50)</a>:</h4>
<p>You mean the libm functions?</p>



<a name="227343497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343497">(Feb 22 2021 at 21:50)</a>:</h4>
<p>the stuff for SimdF32 yeah.</p>



<a name="227343529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343529">(Feb 22 2021 at 21:50)</a>:</h4>
<p>That makes sense to me (though I don't think we need to split the crate, just use a cargo feature)</p>



<a name="227343669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343669">(Feb 22 2021 at 21:51)</a>:</h4>
<p><span aria-label="thinking" class="emoji emoji-1f914" role="img" title="thinking">:thinking:</span> I know Lokathor has used similar solutions for his crates before, <span class="user-mention" data-user-id="224471">@Lokathor</span> do you think that would work?</p>



<a name="227343761"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343761" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343761">(Feb 22 2021 at 21:52)</a>:</h4>
<p>i don't think that <em>simd</em> data types and <em>gpu</em> data types should be the same</p>



<a name="227343784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343784">(Feb 22 2021 at 21:52)</a>:</h4>
<p>For <code>round</code> specifically though I think we just need to teach LLVM to generate that.  Rounding isn't <em>that hard</em></p>



<a name="227343815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343815">(Feb 22 2021 at 21:52)</a>:</h4>
<p>they follow their own rules for their own purposes, and trying to make them magically identical doesn't get you as much as a From impl here and there does.</p>



<a name="227343830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343830">(Feb 22 2021 at 21:52)</a>:</h4>
<p>fair enough!</p>



<a name="227343869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227343869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227343869">(Feb 22 2021 at 21:53)</a>:</h4>
<p>I think I disagree only because LLVM treats them as one and the same</p>



<a name="227344005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344005">(Feb 22 2021 at 21:54)</a>:</h4>
<p>on the gpu you're following a spec like the Std130 or Std430 or whatever spec, and there's no reason that such a spec necessarily lines up with how an intel sse register works, or with a neon register works</p>



<a name="227344046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344046">(Feb 22 2021 at 21:54)</a>:</h4>
<p>and in rust you want to then account for the padding as empty spaces to avoid uninit memory</p>



<a name="227344052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344052">(Feb 22 2021 at 21:54)</a>:</h4>
<p>and all these concerns</p>



<a name="227344117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344117">(Feb 22 2021 at 21:55)</a>:</h4>
<p>There are simd instruction sets that probably don't need padding</p>



<a name="227344133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344133">(Feb 22 2021 at 21:55)</a>:</h4>
<p>tbf that also applies between two different SIMD registers on different architectures.</p>



<a name="227344173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344173">(Feb 22 2021 at 21:55)</a>:</h4>
<p>as we have unfortunately encountered.</p>



<a name="227344183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344183">(Feb 22 2021 at 21:55)</a>:</h4>
<p>okay but i mean on the GPU you need that padding</p>



<a name="227344231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344231">(Feb 22 2021 at 21:55)</a>:</h4>
<p>specifically, you're usually building up <em>structs</em> of these things on the GPU, like "this is all my vertex data" and then the position of one field is set by previous fields and stuff, it's much more like a C struct than a list of identical elements of some length N</p>



<a name="227344232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344232">(Feb 22 2021 at 21:55)</a>:</h4>
<p>A Vec3 on SSE needs padding too</p>



<a name="227344273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344273">(Feb 22 2021 at 21:56)</a>:</h4>
<p>What's the difference?</p>



<a name="227344343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344343">(Feb 22 2021 at 21:56)</a>:</h4>
<p>I think perhaps layout of SIMD vectors are platform-specific</p>



<a name="227344344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344344">(Feb 22 2021 at 21:56)</a>:</h4>
<p>right but in sse you don't have "a vec3 then a vec2 then a vec 3 then a vec3, now an array where each element is what i just said"</p>



<a name="227344415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344415">(Feb 22 2021 at 21:57)</a>:</h4>
<p>Well you can do that, but the layout would be different</p>



<a name="227344509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344509">(Feb 22 2021 at 21:57)</a>:</h4>
<p>I don't think there's any way to avoid layout being platform specific</p>



<a name="227344584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344584">(Feb 22 2021 at 21:58)</a>:</h4>
<p>I believe <span class="user-mention" data-user-id="281757">@Jubilee</span> already found bugs in the x86 vector layouts, where small vectors are misaligned</p>



<a name="227344633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344633">(Feb 22 2021 at 21:58)</a>:</h4>
<p>sure, but in this case, each gpu standard is "a platform", and also it doesn't need to be represented within llvm as being a simd thing</p>



<a name="227344638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344638">(Feb 22 2021 at 21:58)</a>:</h4>
<p><em>nods</em></p>



<a name="227344698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344698">(Feb 22 2021 at 21:59)</a>:</h4>
<p>Well, they <em>are</em> LLVM vectors though, right?</p>



<a name="227344724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344724">(Feb 22 2021 at 21:59)</a>:</h4>
<p>no</p>



<a name="227344740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344740">(Feb 22 2021 at 21:59)</a>:</h4>
<p>the spirv compiler doesn't even use LLVM</p>



<a name="227344746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344746">(Feb 22 2021 at 21:59)</a>:</h4>
<p>fwiw</p>



<a name="227344781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344781">(Feb 22 2021 at 21:59)</a>:</h4>
<p>though I don't know if there is a GPU compiler does use LLVM</p>



<a name="227344890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344890">(Feb 22 2021 at 22:00)</a>:</h4>
<p>I believe there's experimental SPIR-V for LLVM, I could be wrong</p>



<a name="227344977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227344977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227344977">(Feb 22 2021 at 22:00)</a>:</h4>
<p>CUDA definitely uses LLVM but I don't know much beyond that</p>



<a name="227345030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227345030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227345030">(Feb 22 2021 at 22:00)</a>:</h4>
<p>these are gpu types called things like vec3 and mat4 and so on, but they're basically just syntax sugar for a pile of float fields (or integer, double, bool etc)</p>



<a name="227345136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227345136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227345136">(Feb 22 2021 at 22:00)</a>:</h4>
<p>but like, you don't do vec8</p>



<a name="227345240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227345240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227345240">(Feb 22 2021 at 22:01)</a>:</h4>
<p>Well I'm okay with putting off if stdsimd maps to gpu or not</p>



<a name="227345281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227345281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227345281">(Feb 22 2021 at 22:01)</a>:</h4>
<p>I'm still not convinced</p>



<a name="227345397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227345397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227345397">(Feb 22 2021 at 22:01)</a>:</h4>
<p>You don't do missized vectors on SSE either but LLVM pads them to fit</p>



<a name="227345890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227345890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227345890">(Feb 22 2021 at 22:03)</a>:</h4>
<p>I do think we should use these problems to come to a conclusion if stdsimd's vectors are guaranteed to have the same layout (particularly size) on all platforms</p>



<a name="227345959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227345959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227345959">(Feb 22 2021 at 22:03)</a>:</h4>
<p>the answer is almost surely "they're not"</p>



<a name="227346128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346128">(Feb 22 2021 at 22:04)</a>:</h4>
<p>I agree. Which I think leaves the door open to us supporting gpu as simd if that makes sense in the future</p>



<a name="227346258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346258">(Feb 22 2021 at 22:05)</a>:</h4>
<p>Hmm.</p>



<a name="227346342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346342">(Feb 22 2021 at 22:05)</a>:</h4>
<p>I think we are still left mostly with a lack of conclusion here.</p>



<a name="227346354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346354">(Feb 22 2021 at 22:05)</a>:</h4>
<p>I remember there was some grumbling over "f32x3 has the same size as f32x4 on most platforms" earlier</p>



<a name="227346408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346408">(Feb 22 2021 at 22:05)</a>:</h4>
<p>but I am not terribly worried about that.</p>



<a name="227346421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Thom Chiovoloni <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346421">(Feb 22 2021 at 22:05)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281757">Jubilee</span> <a href="#narrow/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting/near/227344781">said</a>:</p>
<blockquote>
<p>though I don't know if there is a GPU compiler does use LLVM</p>
</blockquote>
<p>the underlying compilers of shader languages in the GPU drivers sometimes use LLVM, for sure. not that its terribly relevant to us.</p>



<a name="227346515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346515">(Feb 22 2021 at 22:06)</a>:</h4>
<p>Mmm~</p>



<a name="227346675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346675">(Feb 22 2021 at 22:06)</a>:</h4>
<p><a href="https://github.com/rust-lang/stdsimd/issues/6#issuecomment-783708710">https://github.com/rust-lang/stdsimd/issues/6#issuecomment-783708710</a></p>



<a name="227346685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346685">(Feb 22 2021 at 22:06)</a>:</h4>
<p>I think maybe our answer is "we aren't saying they're definitely <em>not</em> gpu vectors, but they might not be"</p>



<a name="227346698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346698">(Feb 22 2021 at 22:06)</a>:</h4>
<p>we have a volunteer</p>



<a name="227346986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227346986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227346986">(Feb 22 2021 at 22:08)</a>:</h4>
<p>I have a draft branch I have been warming up for saturating add and saturating sub for integers.</p>



<a name="227347044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227347044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227347044">(Feb 22 2021 at 22:08)</a>:</h4>
<p>Maybe we can come to a conclusion if it's okay if <code>SimdX&lt;N&gt;</code> has a different size than <code>[X; N]</code> since that's a more immediate variation of the same problem?</p>



<a name="227347286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227347286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227347286">(Feb 22 2021 at 22:09)</a>:</h4>
<p>i think we can say, almost for sure, that a non-power-of-2 SimdN will round up to a power of 2 on some targets (but not on others)</p>



<a name="227347453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227347453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227347453">(Feb 22 2021 at 22:10)</a>:</h4>
<p>I'm good with that.</p>



<a name="227347454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227347454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227347454">(Feb 22 2021 at 22:10)</a>:</h4>
<p>( also const generics being able to infer lengths is really cool. )</p>



<a name="227347745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227347745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227347745">(Feb 22 2021 at 22:11)</a>:</h4>
<p>clearly we should follow llvm in calling our types <code>v{f,i,u}${N}</code> tho' :^)</p>



<a name="227348081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227348081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227348081">(Feb 22 2021 at 22:13)</a>:</h4>
<p>dollarsign for sure</p>



<a name="227348678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227348678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227348678">(Feb 22 2021 at 22:16)</a>:</h4>
<p><a href="https://github.com/rust-lang/stdsimd/issues/6#issuecomment-783712668">https://github.com/rust-lang/stdsimd/issues/6#issuecomment-783712668</a> does this sound right?</p>



<a name="227348791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227348791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227348791">(Feb 22 2021 at 22:17)</a>:</h4>
<p>that sounds mostly correct, yes.</p>



<a name="227348828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227348828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227348828">(Feb 22 2021 at 22:17)</a>:</h4>
<p>Why not use simd_sin/cos right off the bat?</p>



<a name="227348942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227348942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227348942">(Feb 22 2021 at 22:18)</a>:</h4>
<p>With which features would it and wouldn't it use libm</p>



<a name="227349062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349062">(Feb 22 2021 at 22:19)</a>:</h4>
<p>do they work off the bat?</p>



<a name="227349064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349064">(Feb 22 2021 at 22:19)</a>:</h4>
<p>Do any (existing) architectures actually have sin/cos simd instructions</p>



<a name="227349083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349083">(Feb 22 2021 at 22:19)</a>:</h4>
<p>No clue</p>



<a name="227349197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349197">(Feb 22 2021 at 22:20)</a>:</h4>
<p>how soon could someone besides <code>termhn</code> attempt to implement it using intrinsics off the bat?</p>



<a name="227349291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349291">(Feb 22 2021 at 22:20)</a>:</h4>
<p>if the answer is, "not right away", then i think we can let them do it</p>



<a name="227349310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349310">(Feb 22 2021 at 22:20)</a>:</h4>
<p>she already knows that the code might get replaced later</p>



<a name="227349318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349318">(Feb 22 2021 at 22:20)</a>:</h4>
<p>Is there some reason using sin/cos would be any different than any of the other intrinsics?</p>



<a name="227349339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349339">(Feb 22 2021 at 22:20)</a>:</h4>
<p>i just thought they weren't in the compiler</p>



<a name="227349397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349397">(Feb 22 2021 at 22:21)</a>:</h4>
<p><span class="user-mention" data-user-id="281757">@Jubilee</span>? I'm pretty sure they are already there</p>



<a name="227349408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349408">(Feb 22 2021 at 22:21)</a>:</h4>
<p>Just sin and cos</p>



<a name="227349434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349434">(Feb 22 2021 at 22:21)</a>:</h4>
<p>simd_sin and simd_cos emit conversion to scalar and then a set of libm calls</p>



<a name="227349453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349453">(Feb 22 2021 at 22:21)</a>:</h4>
<p>Is that true even with AVX?</p>



<a name="227349465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349465">(Feb 22 2021 at 22:21)</a>:</h4>
<p>even with <code>-Ctarget-feature=sse4.2,avx2,fma</code></p>



<a name="227349542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349542">(Feb 22 2021 at 22:22)</a>:</h4>
<p>poo</p>



<a name="227349544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349544">(Feb 22 2021 at 22:22)</a>:</h4>
<p>Okay. Yeah I'm not sure any architectures actually have trig simd instructions</p>



<a name="227349578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349578">(Feb 22 2021 at 22:22)</a>:</h4>
<p>So go ahead with doing it without the intrinsics I think, since we probably beat LLVM</p>



<a name="227349602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Thom Chiovoloni <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349602">(Feb 22 2021 at 22:22)</a>:</h4>
<p>when i asked this before i was told there were</p>



<a name="227349638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349638">(Feb 22 2021 at 22:23)</a>:</h4>
<p>I think Simple V may or may not have them</p>



<a name="227349646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Thom Chiovoloni <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349646">(Feb 22 2021 at 22:23)</a>:</h4>
<p>but yeah i dont remember which ones. i had thought <em>you</em> told me there were, but it was a while ago.</p>



<a name="227349664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349664">(Feb 22 2021 at 22:23)</a>:</h4>
<p>But I don't think anything LLVM currently targets has them?</p>



<a name="227349833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349833">(Feb 22 2021 at 22:24)</a>:</h4>
<p>alright, someone who isn't me please make a comment seconding the motion that termhn can get to work whenever they're available (it should mostly be copy and paste from wide and a small fix-up), and we'll sort out the rest later. <span class="user-mention" data-user-id="312331">@Caleb Zulawski</span> / <span class="user-mention" data-user-id="281757">@Jubilee</span></p>



<a name="227349845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349845">(Feb 22 2021 at 22:24)</a>:</h4>
<div class="codehilite" data-code-language="GAS"><pre><span></span><code><span class="nl">example:</span><span class="err">:</span><span class="nl">f32x4:</span><span class="err">:</span><span class="nl">cos:</span>
        <span class="nf">pushq</span>   <span class="nv">%r15</span>
        <span class="nf">pushq</span>   <span class="nv">%r14</span>
        <span class="nf">pushq</span>   <span class="nv">%rbx</span>
        <span class="nf">subq</span>    <span class="no">$32</span><span class="p">,</span> <span class="nv">%rsp</span>
        <span class="nf">movq</span>    <span class="nv">%rsi</span><span class="p">,</span> <span class="nv">%rbx</span>
        <span class="nf">movq</span>    <span class="nv">%rdi</span><span class="p">,</span> <span class="nv">%r14</span>
        <span class="nf">vmovss</span>  <span class="p">(</span><span class="nv">%rsi</span><span class="p">),</span> <span class="nv">%xmm0</span>
        <span class="nf">vmovss</span>  <span class="nv">%xmm0</span><span class="p">,</span> <span class="p">(</span><span class="nv">%rsp</span><span class="p">)</span>
        <span class="nf">vmovss</span>  <span class="mi">4</span><span class="p">(</span><span class="nv">%rsi</span><span class="p">),</span> <span class="nv">%xmm0</span>
        <span class="nf">movq</span>    <span class="no">cosf@GOTPCREL</span><span class="p">(</span><span class="nv">%rip</span><span class="p">),</span> <span class="nv">%r15</span>
        <span class="nf">callq</span>   <span class="p">*</span><span class="nv">%r15</span>
        <span class="nf">vmovaps</span> <span class="nv">%xmm0</span><span class="p">,</span> <span class="mi">16</span><span class="p">(</span><span class="nv">%rsp</span><span class="p">)</span>
        <span class="nf">vmovss</span>  <span class="p">(</span><span class="nv">%rsp</span><span class="p">),</span> <span class="nv">%xmm0</span>
        <span class="nf">callq</span>   <span class="p">*</span><span class="nv">%r15</span>
        <span class="nf">vinsertps</span>       <span class="no">$16</span><span class="p">,</span> <span class="mi">16</span><span class="p">(</span><span class="nv">%rsp</span><span class="p">),</span> <span class="nv">%xmm0</span><span class="p">,</span> <span class="nv">%xmm0</span>
        <span class="nf">vmovaps</span> <span class="nv">%xmm0</span><span class="p">,</span> <span class="p">(</span><span class="nv">%rsp</span><span class="p">)</span>
        <span class="nf">vmovss</span>  <span class="mi">8</span><span class="p">(</span><span class="nv">%rbx</span><span class="p">),</span> <span class="nv">%xmm0</span>
        <span class="nf">callq</span>   <span class="p">*</span><span class="nv">%r15</span>
        <span class="nf">vmovaps</span> <span class="p">(</span><span class="nv">%rsp</span><span class="p">),</span> <span class="nv">%xmm1</span>
        <span class="nf">vinsertps</span>       <span class="no">$32</span><span class="p">,</span> <span class="nv">%xmm0</span><span class="p">,</span> <span class="nv">%xmm1</span><span class="p">,</span> <span class="nv">%xmm0</span>
        <span class="nf">vmovaps</span> <span class="nv">%xmm0</span><span class="p">,</span> <span class="p">(</span><span class="nv">%rsp</span><span class="p">)</span>
        <span class="nf">vmovss</span>  <span class="mi">12</span><span class="p">(</span><span class="nv">%rbx</span><span class="p">),</span> <span class="nv">%xmm0</span>
        <span class="nf">callq</span>   <span class="p">*</span><span class="nv">%r15</span>
        <span class="nf">vmovaps</span> <span class="p">(</span><span class="nv">%rsp</span><span class="p">),</span> <span class="nv">%xmm1</span>
        <span class="nf">vinsertps</span>       <span class="no">$48</span><span class="p">,</span> <span class="nv">%xmm0</span><span class="p">,</span> <span class="nv">%xmm1</span><span class="p">,</span> <span class="nv">%xmm0</span>
        <span class="nf">vmovaps</span> <span class="nv">%xmm0</span><span class="p">,</span> <span class="p">(</span><span class="nv">%r14</span><span class="p">)</span>
        <span class="nf">movq</span>    <span class="nv">%r14</span><span class="p">,</span> <span class="nv">%rax</span>
        <span class="nf">addq</span>    <span class="no">$32</span><span class="p">,</span> <span class="nv">%rsp</span>
        <span class="nf">popq</span>    <span class="nv">%rbx</span>
        <span class="nf">popq</span>    <span class="nv">%r14</span>
        <span class="nf">popq</span>    <span class="nv">%r15</span>
        <span class="nf">retq</span>
</code></pre></div>



<a name="227349848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349848">(Feb 22 2021 at 22:24)</a>:</h4>
<p>I think by the time SimpleV has an official LLVM backend we can migrate to libmvec which would solve that problem</p>



<a name="227349898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349898">(Feb 22 2021 at 22:25)</a>:</h4>
<p>Yeah, i will happily second. <span aria-label="sparkling heart" class="emoji emoji-1f496" role="img" title="sparkling heart">:sparkling_heart:</span></p>



<a name="227349922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349922">(Feb 22 2021 at 22:25)</a>:</h4>
<p><code>movq    cosf@GOTPCREL(%rip), %r15</code> <em>target register on the end!?!? grossssss</em></p>



<a name="227349943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227349943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227349943">(Feb 22 2021 at 22:25)</a>:</h4>
<p>Lol</p>



<a name="227350085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227350085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227350085">(Feb 22 2021 at 22:26)</a>:</h4>
<p>well if there's nothing further for the real time conversation, i've got some new shoes to break in a bit, so i'm going to walk to the gas station and get mint chocolate muddy buddies</p>



<a name="227350126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227350126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227350126">(Feb 22 2021 at 22:27)</a>:</h4>
<p>yeah looks like we're good! <span aria-label="sparkling heart" class="emoji emoji-1f496" role="img" title="sparkling heart">:sparkling_heart:</span></p>



<a name="227350157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/2021-02-22%20Meeting/near/227350157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/2021-02-22.20Meeting.html#227350157">(Feb 22 2021 at 22:27)</a>:</h4>
<p>Yeah I think we're in good shape</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>